
package com.cctv.eip.schema.messagetype._0;

import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlElementDecl;
import javax.xml.bind.annotation.XmlRegistry;
import javax.xml.namespace.QName;
import com.cctv.eip.schema.eip_commondatatypes._0.BatchPubRequestType;
import com.cctv.eip.schema.eip_commondatatypes._0.BatchPubResponseType;
import com.cctv.eip.schema.eip_commondatatypes._0.QueryPubRequestType;
import com.cctv.eip.schema.eip_commondatatypes._0.QueryPubResponseType;
import com.cctv.eip.schema.eip_commondatatypes._0.QuerySubRequestType;
import com.cctv.eip.schema.eip_commondatatypes._0.QuerySubResponseType;


/**
 * This object contains factory methods for each 
 * Java content interface and Java element interface 
 * generated in the com.cctv.eip.schema.messagetype._0 package. 
 * <p>An ObjectFactory allows you to programatically 
 * construct new instances of the Java representation 
 * for XML content. The Java representation of XML 
 * content can consist of schema derived interfaces 
 * and classes representing the binding of schema 
 * type definitions, element declarations and model 
 * groups.  Factory methods for each of these are 
 * provided in this class.
 * 
 */
@XmlRegistry
public class ObjectFactory {

    private final static QName _BatchPubRequest_QNAME = new QName("http://cctv.com/EIP/schema/MessageType/0.1", "BatchPubRequest");
    private final static QName _BatchPubResponse_QNAME = new QName("http://cctv.com/EIP/schema/MessageType/0.1", "BatchPubResponse");
    private final static QName _QueryPubRequest_QNAME = new QName("http://cctv.com/EIP/schema/MessageType/0.1", "QueryPubRequest");
    private final static QName _QueryPubResponse_QNAME = new QName("http://cctv.com/EIP/schema/MessageType/0.1", "QueryPubResponse");
    private final static QName _QuerySubRequest_QNAME = new QName("http://cctv.com/EIP/schema/MessageType/0.1", "QuerySubRequest");
    private final static QName _QuerySubResponse_QNAME = new QName("http://cctv.com/EIP/schema/MessageType/0.1", "QuerySubResponse");

    /**
     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: com.cctv.eip.schema.messagetype._0
     * 
     */
    public ObjectFactory() {
    }

    /**
     * Create an instance of {@link javax.xml.bind.JAXBElement }{@code <}{@link com.cctv.eip.schema.eip_commondatatypes._0.BatchPubRequestType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://cctv.com/EIP/schema/MessageType/0.1", name = "BatchPubRequest")
    public JAXBElement<BatchPubRequestType> createBatchPubRequest(BatchPubRequestType value) {
        return new JAXBElement<BatchPubRequestType>(_BatchPubRequest_QNAME, BatchPubRequestType.class, null, value);
    }

    /**
     * Create an instance of {@link javax.xml.bind.JAXBElement }{@code <}{@link com.cctv.eip.schema.eip_commondatatypes._0.BatchPubResponseType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://cctv.com/EIP/schema/MessageType/0.1", name = "BatchPubResponse")
    public JAXBElement<BatchPubResponseType> createBatchPubResponse(BatchPubResponseType value) {
        return new JAXBElement<BatchPubResponseType>(_BatchPubResponse_QNAME, BatchPubResponseType.class, null, value);
    }

    /**
     * Create an instance of {@link javax.xml.bind.JAXBElement }{@code <}{@link com.cctv.eip.schema.eip_commondatatypes._0.QueryPubRequestType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://cctv.com/EIP/schema/MessageType/0.1", name = "QueryPubRequest")
    public JAXBElement<QueryPubRequestType> createQueryPubRequest(QueryPubRequestType value) {
        return new JAXBElement<QueryPubRequestType>(_QueryPubRequest_QNAME, QueryPubRequestType.class, null, value);
    }

    /**
     * Create an instance of {@link javax.xml.bind.JAXBElement }{@code <}{@link com.cctv.eip.schema.eip_commondatatypes._0.QueryPubResponseType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://cctv.com/EIP/schema/MessageType/0.1", name = "QueryPubResponse")
    public JAXBElement<QueryPubResponseType> createQueryPubResponse(QueryPubResponseType value) {
        return new JAXBElement<QueryPubResponseType>(_QueryPubResponse_QNAME, QueryPubResponseType.class, null, value);
    }

    /**
     * Create an instance of {@link javax.xml.bind.JAXBElement }{@code <}{@link com.cctv.eip.schema.eip_commondatatypes._0.QuerySubRequestType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://cctv.com/EIP/schema/MessageType/0.1", name = "QuerySubRequest")
    public JAXBElement<QuerySubRequestType> createQuerySubRequest(QuerySubRequestType value) {
        return new JAXBElement<QuerySubRequestType>(_QuerySubRequest_QNAME, QuerySubRequestType.class, null, value);
    }

    /**
     * Create an instance of {@link javax.xml.bind.JAXBElement }{@code <}{@link com.cctv.eip.schema.eip_commondatatypes._0.QuerySubResponseType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://cctv.com/EIP/schema/MessageType/0.1", name = "QuerySubResponse")
    public JAXBElement<QuerySubResponseType> createQuerySubResponse(QuerySubResponseType value) {
        return new JAXBElement<QuerySubResponseType>(_QuerySubResponse_QNAME, QuerySubResponseType.class, null, value);
    }

}
